package com.topc.problem.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.topc.base.model.PageParams;
import com.topc.base.model.PageResult;
import com.topc.problem.model.dto.SaveProblemDto;
import com.topc.problem.model.dto.QueryProblemInfoDto;
import com.topc.problem.model.po.ProblemSample;
import com.topc.problem.model.po.ProblemInfo;
import com.topc.problem.model.vo.*;

import java.util.List;


public interface IProblemInfoService extends IService<ProblemInfo>{
    PageResult<ProblemPageShowVo> searchByPageToAdmin(PageParams pageParams, QueryProblemInfoDto queryProblemInfoDto);

    Long saveProblem(SaveProblemDto problemCreateBo);

    List<ProblemSample> getAllTestData(Long problemId);

    List<ProblemPageShowVo> listByIds(List<Long> ids);

    Long updateProblemInfo(SaveProblemDto problemCreateBo);

    Long updateProblemSamples(Long problemId, List<ProblemSample> problemSample);

    ProblemDetailVo getDetailById(Long problemId);

    ProblemDetailShowVo searchDetailById(Long problemId);

    List<ProblemListShowVo> getProblemList(String userNumber, Long competitionId);
}
